home *** CD-ROM | disk | FTP | other *** search
- .TH CCRVTR
- 6 "IRIT Version 6.0"
- .SH NAME
- CCRVTR
-
-
-
- NumericType CCRVTR( CurveType Crv, NumericType Epsilon )
-
- or
-
- CurveType CCRVTR( CurveType Crv, NumericType Epsilon )
-
- Computes the extreme curvature points on Crv in the XY plane.
- This set includes not only points of maximum (convexity) and mimumum
- (concavity) curvature, but also points of zero curvature such as
- inflection points.
- Since this operation is partially numeric, Epsilon is used to set
- the needed accuracy. It returns the parameter value(s) of the location(s)
- with extreme curvature along the Crv.
- If, however, Epsilon is negative, the curvature scalar field
- curve is returned as a two dimensional rational vector field curve, for
- which the first dimension is equal to the parameter, and the second is the
- curvature value at that parameter.
-
- This function computes the curvature scalar field for planar curves as,
-
- x' y'' - x'' y'
- k(t) = ----------------
- 2 2 3/2
- ( x' + y' )
-
- and computes kN for three dimensional curves as the following vector field,
-
- C' x C'' C' (C' x C'') x C'
- k(t) N(t) = K(t) B(t) x T(t) = -------- x ----- = ---------------
- 3 | C' | 4
- | C'| | C' |
-
- The extremum values are extracted from the computed curvature field.
- This curvature field is a high order curve, even if the input geometry is
- of low order. This is especially true for rational curves, for which the
- quotient rule for differentiation is used and almost doubles the degree
- in every differentiation.
-
- See also CZEROS, CEXTREMES, and SCRVTR.
-
- Example:
-
- crv = cbezier( list( ctlpt( E2, -1.0, 0.5 ),
- ctlpt( E2, -0.5, -2.0 ),
- ctlpt( E2, 0.0, 1.0 ),
- ctlpt( E2, 1.0, 0.0 ) ) ) * rotz( 30 );
- crvtr = CCRVTR( crv, 0.001 );
- pt_crvtr = nil();
- pt = nil();
- for ( i = 1, 1, sizeof( crvtr ),
- ( pt = ceval( crv, nth( crvtr, i ) ) ):
- snoc( pt, pt_crvtr )
- );
- interact( list( crv, pt_crvtr ) );
-
- finds the extreme curvature points in Crv and displays them all
- with the curve.
-